﻿// Original author contact info: Owen Emlen (owene_1998@yahoo.com)
// Note: other individuals may also have contributed to this code
// Project hosted on CodePlex.com as of 1/10/2009 at http://www.codeplex.com/EmlenMud
using System;
using System.Collections.Generic;

namespace BrainTechLLC
{
    // TODO - move to better home
    public interface ICanSaveAndRestore : IHasChanged
    {
        void PerformPostRestoreSetup();
        bool Restore<T>(List<object> arguments, out T restored) where T : class;
        void Save(List<object> arguments);
    }

    public interface IHasChanged
    {
        DateTime LastChanged { get; set; }
        DateTime LastSaved { get; set; }
        void MarkChanged();
        void MarkRestored();
        void MarkSaved();
    }
}